From c8869148cae467792692502d4ce2a9a2902158b6 Mon Sep 17 00:00:00 2001 From: Julien Schueller Date: Mon, 19 Jan 2026 14:49:34 +0100 Subject: [PATCH] [PATCH] CMake: Fix EXPAT version warning Closes #19679 Gbp-Pq: Name findEXPAT_version_fix_MR12826.patch --- CMake/FindEXPAT.cmake | 11 ++++++----- ThirdParty/expat/CMakeLists.txt | 7 ++++--- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/CMake/FindEXPAT.cmake b/CMake/FindEXPAT.cmake index 00b160a4..5dda968d 100644 --- a/CMake/FindEXPAT.cmake +++ b/CMake/FindEXPAT.cmake @@ -43,25 +43,26 @@ if (EXPAT_INCLUDE_DIR AND EXISTS "${EXPAT_INCLUDE_DIR}/expat.h") file(STRINGS "${EXPAT_INCLUDE_DIR}/expat.h" expat_version_str REGEX "^#[\t ]*define[\t ]+XML_(MAJOR|MINOR|MICRO)_VERSION[\t ]+[0-9]+$") - unset(EXPAT_VERSION_STRING) + unset(EXPAT_VERSION) foreach(VPART MAJOR MINOR MICRO) foreach(VLINE ${expat_version_str}) if(VLINE MATCHES "^#[\t ]*define[\t ]+XML_${VPART}_VERSION[\t ]+([0-9]+)$") set(EXPAT_VERSION_PART "${CMAKE_MATCH_1}") - if(EXPAT_VERSION_STRING) - string(APPEND EXPAT_VERSION_STRING ".${EXPAT_VERSION_PART}") + if(EXPAT_VERSION) + string(APPEND EXPAT_VERSION ".${EXPAT_VERSION_PART}") else() - set(EXPAT_VERSION_STRING "${EXPAT_VERSION_PART}") + set(EXPAT_VERSION "${EXPAT_VERSION_PART}") endif() endif() endforeach() endforeach() + set(EXPAT_VERSION_STRING ${EXPAT_VERSION}) endif () include(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(EXPAT REQUIRED_VARS EXPAT_LIBRARY EXPAT_INCLUDE_DIR - VERSION_VAR EXPAT_VERSION_STRING) + VERSION_VAR EXPAT_VERSION) # Copy the results to the output variables and target. if(EXPAT_FOUND) diff --git a/ThirdParty/expat/CMakeLists.txt b/ThirdParty/expat/CMakeLists.txt index 81d65a77..cf2d168b 100644 --- a/ThirdParty/expat/CMakeLists.txt +++ b/ThirdParty/expat/CMakeLists.txt @@ -16,7 +16,8 @@ vtk_module_third_party( PACKAGE EXPAT VERSION 2.5.0 TARGETS EXPAT::EXPAT - STANDARD_INCLUDE_DIRS) + STANDARD_INCLUDE_DIRS + USE_VARIABLES EXPAT_VERSION) include(vtkDetectLibraryType) vtk_detect_library_shared(vtkexpat EXPAT::EXPAT) @@ -42,9 +43,9 @@ vtk_module_install_headers( if(NOT DEFINED ENV{DASHBOARD_TEST_FROM_CTEST}) # Check for deprecated versions of expat set(expat_deprecated_version "2.6.3") - if(VTK_MODULE_USE_EXTERNAL_vtkexpat AND EXPAT_VERSION_STRING VERSION_LESS expat_deprecated_version) + if(VTK_MODULE_USE_EXTERNAL_vtkexpat AND EXPAT_VERSION VERSION_LESS expat_deprecated_version) message(DEPRECATION - "External expat ${EXPAT_VERSION_STRING} is less than ${expat_deprecated_version} " + "External expat ${EXPAT_VERSION} is less than ${expat_deprecated_version} " "and (may) have known vulnerabilities. Consider upgrading.") endif() endif() -- 2.30.2